在軟體開發中很常聽到 SCRUM 這個字,本身是待在軟體業當PM公司沒有跑到非常正規的 SCRUM ,因此上網查了一下 SCRUM 的相關內容,今天透過這篇來和大家分享。
SCRUM 到底是什麼?
如同標題是軟體開發的一種方法,之前其實有和在硬體產業的PM討論過,到底硬體公司是否適合跑 SCRUM,但其實硬體產業有些難度,原因是 SCRUM 的精神是透過高效的方式,提供有質量的產出,但硬體的開發本身就受到一些限制存在無法高效,因此在硬體產業中導入 SCRUM 會有很大的門檻。
核心概念
-
強調 經驗主義(Empiricism)和 精實思想(Lean Thinking)
- 經驗主義(Empiricism):知識的累計是透過經驗和體察而來的。
- 精實思想(Lean Thinking):減少不必要的浪費。
-
透過迭代和增量的方式進行優化和控制風險。
角色
-
產品負責人(Product Owner): 主導產品相關事務的人,包含使用情境、使用需求、上線時間等,並且協助做產品的優先級排序。
-
敏捷教練(Scrum Master): 領導團隊按照 SCRUM 的的方法進行軟體開發,若是中間有遇到問題會從旁協助。
-
開發團隊(Developers): 協助把產品做出來的人,團隊的組成是跨職能的,因此組成的成員包含產品經理、設計師、工程師、測試工程師。
產出內容
-
產品待辦清單(Product Backlog): 此清單包含需求的待辦清單,還有工程端提出來的待辦清單,因為在一次 Sprint 裡面團隊只會為了一個目標做衝刺,因此這兩個待辦清單要一起做排序。
-
衝刺清單(Sprint Backlog): 此次 Sprint 需要做到的內容有哪些。
-
燃盡圖(Burndown Chart): 此次 Sprint 執行的階段到哪邊,還剩下多少時間能夠衝刺。
會議
-
衝刺計畫會議(Sprint Planning Meeting): 此會議就是一個 Sprint 啟動會議,會招集所有團隊成員,由產品經理協助和大家說明此次 Sprint 要交付的價值是什麼,使用情境長怎麼樣,每個情境的優先級排序,往下拆分此次 Sprint 的任務拆分。
-
每日站立會議(Daily Standup Meeting): 每天早上都會進行這個站立的會議,每個人會在 3 分鐘內快速分享一下以下的內容,讓團隊的所有成員知道目前 Sprint 的進度到了哪裏是否在進度上。
-
昨天做了什麼
-
今天預計會做什麼
-
目前遇到了什麼問題或是有需要協助的地方
-
成果檢視會議(Review Meeting): 通常在 Sprint 的最後一天會舉辦此會議,主要是展示這次 Sprint 產出的內容,同時確認是否和一開始 衝刺計畫會議(Sprint Planning Meeting)裡面的內容一樣。
-
回顧會議(Retrospective Meeting): 此會議就是一個 Sprint 收尾會議,會和團隊一起回顧此次 Sprint 的整個執行過程,幫助團隊在下次 Sprint 可以越做越好,回顧的內容會有以下幾項:
-
做得不錯的地方: 在此次 Sprint 的過程中,是否有發現哪邊執行的很棒,這些很棒的地方要一起帶到往後的 Sprint 裡面繼續保持。
-
待改善的地方: 在此次 Sprint 的過程中,是否有發現哪邊執行的不太順利有點卡卡的,下一個 Sprint 要想辦法改善的地方,要注意 待改善的部分只針對事件不針對人。
-
下次 Sprint 可以先改善的地方: 前向的待改善的地方有可能很多項,但其實在軟體開發的過程中,很難一次改善所有的項目,因此需要先針對所有項目進行優先級排序,排序完後挑選 3 個項目要帶到下一個 Sprint 裡作改善,很有可能待改善的項目只有列出看到的問題是什麼,因此團隊還要再進一不討論可以改善的解法是什麼,這樣才是完成一個回顧會議。
希望大家還喜歡今天分享的內容,因為公司內部沒有跑到很正規的 SCRUM ,也很好奇大家的公司是否有跑 SCRUM ,非常歡迎大家在底下分享自身公司的經驗。